[INFO] fetching crate woodpecker 0.4.0...
[INFO] checking woodpecker-0.4.0 against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] extracting crate woodpecker 0.4.0 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate woodpecker 0.4.0 on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate woodpecker 0.4.0
[INFO] finished tweaking crates.io crate woodpecker 0.4.0
[INFO] tweaked toml for crates.io crate woodpecker 0.4.0 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5af815493b023a2beebf5149175b60ddaa1df7a69c70aeb6277e6e05cb97dfe1
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5af815493b023a2beebf5149175b60ddaa1df7a69c70aeb6277e6e05cb97dfe1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5af815493b023a2beebf5149175b60ddaa1df7a69c70aeb6277e6e05cb97dfe1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5af815493b023a2beebf5149175b60ddaa1df7a69c70aeb6277e6e05cb97dfe1", kill_on_drop: false }`
[INFO] [stdout] 5af815493b023a2beebf5149175b60ddaa1df7a69c70aeb6277e6e05cb97dfe1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f32504d14859fb1be267280afa42e4f1b4a2fecb9660742147189835e538dfc8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f32504d14859fb1be267280afa42e4f1b4a2fecb9660742147189835e538dfc8", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.116
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.57
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking bencher v0.1.5
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking parking_lot v0.4.8
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking chrono v0.3.0
[INFO] [stderr]     Checking woodpecker v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record/imp.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn formatted(&self, record: &Record) -> Arc<String> {
[INFO] [stdout]     |                                  ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logger.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn process(&self, record: &Record) {
[INFO] [stdout]     |                                ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) -> String + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                              ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/default.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn formatter(record: &Record) -> String {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/levels.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / lazy_static! {
[INFO] [stdout] 93  | |     static ref LMAP: HashMap<String, LogLevel> = {
[INFO] [stdout] 94  | |         let mut levels = HashMap::with_capacity(LEVELS.len());
[INFO] [stdout] 95  | |         for level in &LEVELS {
[INFO] [stdout] ...   |
[INFO] [stdout] 99  | |     };
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Arc, Once, ONCE_INIT};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | static LOG_THREAD: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | static IS_INIT: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/logger.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let mut queues: QVec = mem::uninitialized();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |     static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/logger.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:54:57
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let z = mem::replace(sent, CachePadded::new(ATOMIC_USIZE_INIT));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:59:70
[INFO] [stdout]    |
[INFO] [stdout] 59 |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / lazy_static! {
[INFO] [stdout] 289 | |     #[doc(hidden)]
[INFO] [stdout] 290 | |     pub static ref ROOT: Arc<RwLock<RootLogger>> = root();
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | static LOG_LEVEL: AtomicIsize = ATOMIC_ISIZE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicIsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 | static HAS_SUBLOGGERS: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record/imp.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn formatted(&self, record: &Record) -> Arc<String> {
[INFO] [stdout]     |                                  ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logger.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn process(&self, record: &Record) {
[INFO] [stdout]     |                                ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/logger.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 421 |             wp_set_level!(LogLevel::TRACE, this_module!(), [(LineRangeBound::BOF, 42u32)]).unwrap();
[INFO] [stdout]     |             ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/logger.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |             wp_set_level!(LogLevel::TRACE, file!(), [(LineRangeBound::BOF, 42u32)]).unwrap();
[INFO] [stdout]     |             ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/logger.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             wp_set_level!(LogLevel::TRACE, this_file!(), [(42u32, 41u32)]).unwrap();
[INFO] [stdout]     |             -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/logger.rs:444:24
[INFO] [stdout]     |
[INFO] [stdout] 444 |             assert_eq!(wp_set_level!(LogLevel::TRACE, "foo", [(LineRangeBound::BOF, LineRangeBound::EOF)]), Ok(()));
[INFO] [stdout]     |                        ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/logger.rs:445:24
[INFO] [stdout]     |
[INFO] [stdout] 445 |             assert_eq!(wp_set_level!(LogLevel::TRACE, this_file!(), [(LineRangeBound::BOF, 42u32)]), Ok(()));
[INFO] [stdout]     |                        ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) -> String + Send + Sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                              ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/default.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn formatter(record: &Record) -> String {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/levels.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / lazy_static! {
[INFO] [stdout] 93  | |     static ref LMAP: HashMap<String, LogLevel> = {
[INFO] [stdout] 94  | |         let mut levels = HashMap::with_capacity(LEVELS.len());
[INFO] [stdout] 95  | |         for level in &LEVELS {
[INFO] [stdout] ...   |
[INFO] [stdout] 99  | |     };
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Arc, Once, ONCE_INIT};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | static LOG_THREAD: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | static IS_INIT: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/logger.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let mut queues: QVec = mem::uninitialized();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |     static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/logger.rs:52:67
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:54:57
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let z = mem::replace(sent, CachePadded::new(ATOMIC_USIZE_INIT));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:59:70
[INFO] [stdout]    |
[INFO] [stdout] 59 |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / lazy_static! {
[INFO] [stdout] 289 | |     #[doc(hidden)]
[INFO] [stdout] 290 | |     pub static ref ROOT: Arc<RwLock<RootLogger>> = root();
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:351:29
[INFO] [stdout]     |
[INFO] [stdout] 351 |         static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                             ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | static LOG_LEVEL: AtomicIsize = ATOMIC_ISIZE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicIsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 | static HAS_SUBLOGGERS: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/record/imp.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> Record for SyncRecord<'a> {
[INFO] [stdout]     |          ^^^^^^ `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/record/mod.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub trait Record: Send + Sync {
[INFO] [stdout]     |                          ---- required by this bound in `Record`
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `SyncRecord<'a>`, the trait `Sync` is not implemented for `core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `&'a core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `ArgumentV1<'a>`
[INFO] [stdout]     = note: required because it appears within the type `[ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `&'a [ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `Arguments<'a>`
[INFO] [stdout]     = note: required because it appears within the type `SyncRecord<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/record/imp.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> Record for SyncRecord<'a> {
[INFO] [stdout]     |          ^^^^^^ `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/record/mod.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub trait Record: Send + Sync {
[INFO] [stdout]     |                          ---- required by this bound in `record::Record`
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `SyncRecord<'a>`, the trait `Sync` is not implemented for `core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `&'a core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `ArgumentV1<'a>`
[INFO] [stdout]     = note: required because it appears within the type `[ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `&'a [ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `Arguments<'a>`
[INFO] [stdout]     = note: required because it appears within the type `SyncRecord<'a>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `woodpecker`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "f32504d14859fb1be267280afa42e4f1b4a2fecb9660742147189835e538dfc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f32504d14859fb1be267280afa42e4f1b4a2fecb9660742147189835e538dfc8", kill_on_drop: false }`
[INFO] [stdout] f32504d14859fb1be267280afa42e4f1b4a2fecb9660742147189835e538dfc8
